package demo06

/**
 * @author xiaoZhao
 * @date 2022/7/18
 * @describe 衍生集合
 */
object Test12_DeriveList {
  def main(args: Array[String]): Unit = {
    val list1 = List(12, 34, 56, 32, 24, 45)
    val list2 = List(45, 23, 89, 97, 56, 36)
    // 头
    println(list1.head)
    // 尾
    println(list1.tail)
    // 最后一个元素
    println(list1.last)
    // 除过最后一个元素
    println(list1.init)
    // 反转
    println(list1.reverse)
    // 前（后）n 个元素
    println(list1.take(2))
    println(list1.takeRight(4))
    // 去掉前（后）n 个元素
//    println(list1.drop(1))
//    println(list1.dropRight(1))
    // 交集
    println(list1.intersect(list2))
    // 并集
    println(list1.union(list2))
    // 差集
    println(list1.diff(list2))
    // 拉链
    println(list1.zip(list2))
    println("=====")
    // 滑窗
    println(list1.sliding(3, 2).foreach(println))
  }
}
